The µ-termination of Ex1_GM03 is proved by using the
transformation in [GM03]. The TRS Ex1_GM03_iGM:
active(p(0)) -> mark(0)
active(p(s(X))) -> mark(X)
active(leq(0,Y)) -> mark(true)
active(leq(s(X),0)) -> mark(false)
active(leq(s(X),s(Y))) -> mark(leq(X,Y))
active(if(true,X,Y)) -> mark(X)
active(if(false,X,Y)) -> mark(Y)
active(diff(X,Y)) -> mark(if(leq(X,Y),0,s(diff(p(X),Y))))
mark(p(X)) -> active(p(mark(X)))
mark(0) -> active(0)
mark(s(X)) -> active(s(mark(X)))
mark(leq(X1,X2)) -> active(leq(mark(X1),mark(X2)))
mark(true) -> active(true)
mark(false) -> active(false)
mark(if(X1,X2,X3)) -> active(if(mark(X1),X2,X3))
mark(diff(X1,X2)) -> active(diff(mark(X1),mark(X2)))
p(mark(X)) -> p(X)
p(active(X)) -> p(X)
s(mark(X)) -> s(X)
s(active(X)) -> s(X)
leq(mark(X1),X2) -> leq(X1,X2)
leq(X1,mark(X2)) -> leq(X1,X2)
leq(active(X1),X2) -> leq(X1,X2)
leq(X1,active(X2)) -> leq(X1,X2)
if(mark(X1),X2,X3) -> if(X1,X2,X3)
if(X1,mark(X2),X3) -> if(X1,X2,X3)
if(X1,X2,mark(X3)) -> if(X1,X2,X3)
if(active(X1),X2,X3) -> if(X1,X2,X3)
if(X1,active(X2),X3) -> if(X1,X2,X3)
if(X1,X2,active(X3)) -> if(X1,X2,X3)
diff(mark(X1),X2) -> diff(X1,X2)
diff(X1,mark(X2)) -> diff(X1,X2)
diff(active(X1),X2) -> diff(X1,X2)
diff(X1,active(X2)) -> diff(X1,X2)
can be proved innermost terminating by using the dependency pairs
technique (see [GM02, Appendix
A.2]). Then, Ex1_GM03 is innermost µ-terminating.
Since Ex1_GM03 is orthogonal, by [GM03,
Theorem 9], Ex1_GM03 is also µ-terminating.